package com.founder.devwork.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 存储 commit_log 导入记录
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("import_log")
public class ImportLog {

    /**
     * 唯一ID，由UUID生成
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * Git实例标识，如"beijing"或"chengdu"
     */
    @NotBlank(message = "gitInstance 不能为空")
    @TableField("git_instance")
    private String gitInstance;

    /**
     * 导入时间，默认当前时间
     */
    @TableField("import_time")
    private LocalDateTime importTime;

    /**
     * 日志开始时间
     */
    @TableField("start_time")
    private LocalDateTime startTime;

    /**
     * 日志结束时间
     */
    @TableField("end_time")
    private LocalDateTime endTime;

    /**
     * 导入条数，默认0
     */
    @TableField("import_count")
    private Integer importCount;

    /**
     * 导入状态，1: 进行中，2: 已完成，3: 失败
     */
    @TableField("status")
    private Integer status;
}
